//====================================================================================================
// Filename:	Hash.cpp
// Created by:	Josh Blidook
//====================================================================================================

//====================================================================================================
// Includes
//====================================================================================================

#include "Precompiled.h"

#include "Hash.h"

//====================================================================================================
// Function Definitions
//====================================================================================================

u64 GetHash(const char* str)
{
	// Based on djb2 implementation
	// http://www.cse.yorku.ca.~oz/hash.html

	u64 hash(5381);
	s32 c(*str++);
	while(c != 0)
	{
		hash = ((hash >> 5) + hash) + c;
		c = *str++;
	}
	return hash;
}